Call-by-Value in a Basic Logic for Interaction
نویسنده
چکیده
ion of Γ, x : N `M : N nat× σ (γ × nat)× σ M ∀σ. Abstraction of Γ, x : N `M : Nion of Γ, x : N `M : N nat× σ (γ × nat)× σ M ∀σ. nat× σ′ (γ × nat)× σ′ γ × σ nat× (γ × σ′) Abstraction of Γ, x : N `M : Nion of Γ, x : N `M : N nat× σ (γ × nat)× σ M ∀σ. nat× τ γ × σ ∀σ.∃φ.∀τ . φ× σ (φ× nat)× τ nat× (φ× τ) λx:X.M Abstraction of Γ, x : N `M : Nion of Γ, x : N `M : N nat× σ (γ × nat)× σ M ∀σ. nat× τ γ × σ ∀σ.∃φ.∀τ . φ× σ (φ× nat)× τ nat× (φ× τ) λx:X.M cps(Γ ` λx:X.M) = Λσ. λk. k C(Γ) (Λτ . λk1.Λφx. λx. (〈a, 〈~z, t〉〉 7→ 〈〈~z, a〉, t〉) (cps(Γ, x : X `M) τ k1)) Correctness Theorem. Suppose `M : N andM −→cbv n, where n is a value. Then cps( `M) unit K = (〈~z, s〉 7→ 〈n, s〉)(K unit ?) for any closed continuation K of type Kunit(N). unit× σ nat× σ Jcps( `M)K Correctness Theorem. Suppose `M : N andM −→cbv n, where n is a value. Then cps( `M) unit K = (〈~z, s〉 7→ 〈n, s〉)(K unit ?) for any closed continuation K of type Kunit(N). unit× σ nat× σ Jcps( `M)K Lemma. LetM be a source term well-typed in context Γ. Then, for all σ and all closed K such that cps(Γ `M) σ K is well-typed, we have cps(Γ `M) σ K = M :σ K. Lemma. IfM −→cbv N thenM :σ K = N :σ K for any σ and closed K of the appropriate type. Contraction To translate the full source calculus, we need contraction on variables of type Aφ(X). Value Types A,B ::= α | nat | unit | A×B | 0 | A+B Computation Types X,Y ::= ⊥ | A ·X ( Y | ∀α.X Conclusion CPS translations for call-by-name and call-by-value can be refined to target a low-level computation calculus. • fully specified translation to low-level language • interface specification • separate compilation • exposes low-level details, e.g. closure conversion • soundness proof managable • value/computation-separation à la defunctionalization Further work • space bounds / optimisation using ∀αCA.X • understand control flow data • relation to call-by-value games • fully abstract compilation
منابع مشابه
Extension of Logic regression to Longitudinal data: Transition Logic Regression
Logic regression is a generalized regression and classification method that is able to make Boolean combinations as new predictive variables from the original binary variables. Logic regression was introduced for case control or cohort study with independent observations. Although in various studies, correlated observations occur due to different reasons, logic regression have not been studi...
متن کاملA Formal Approach to Service Interaction Detection in Mobile Networks
The paper presents an approach to detection of service interaction. Service interaction manifests itself as a function of services which is neither exactly the sum of every service nor behaves as expected. In Customized Application for Mobile network Enhanced Logic (CAMEL), services may interact both in call-related and callunrelated context. Description logic is used to formally define the CAM...
متن کاملHigh Speed Full Swing Current Mode BiCMOS Logical Operators
In this paper the design of a new high-speed current mode BiCMOS logic circuits isproposed. By altering the threshold detector circuit of the conventional current mode logic circuitsand applying the multiple value logic (MVL) approach the number of transistors in basic logicoperators are significantly reduced and hence a reduction of chip area and power dissipation as wellas an increase in spee...
متن کاملApplication of Monte Carlo Simulation in the Assessment of European Call Options
In this paper, the pricing of a European call option on the underlying asset is performed by using a Monte Carlo method, one of the powerful simulation methods, where the price development of the asset is simulated and value of the claim is computed in terms of an expected value. The proposed approach, applied in Monte Carlo simulation, is based on the Black-Scholes equation which generally def...
متن کاملTruth Values and Connectives in Some Non-Classical Logics
The question as to whether the propositional logic of Heyting, which was a formalization of Brouwer's intuitionistic logic, is finitely many valued or not, was open for a while (the question was asked by Hahn). Kurt Gödel (1932) introduced an infinite decreasing chain of intermediate logics, which are known nowadays as Gödel logics, for showing that the intuitionistic logic is not finitely (man...
متن کاملWhy the Constant 'Undefined'? Logics of Partial Terms for Strict and Non-Strict Functional Programming Languages
In this article we explain two different operational interpretations of functional programs by two different logics. The programs are simply typed λ-terms with pairs, projections, if-then-else, and least fixed point recursion. A logic for call-by-value evaluation and a logic for call-byname evaluation are obtained as as extensions of a system which we call the basic logic of partial terms (BPT)...
متن کامل